﻿using System;
using Ouere.Contract.Domain;

namespace Ayatta.Contract.Domain
{
    /// <summary>
    /// 宠物背包格子
    /// </summary>
    public class PetBagCell : BaseEntity<int>
    {
        /// <summary>
        /// 用户Id
        /// </summary>
        public int UserId { get; set; }

        /// <summary>
        /// 宠物Id
        /// </summary>
        public int PetId { get; set; }

        /// <summary>
        /// 宠物背包Id
        /// </summary>
        public int PetBagId { get; set; }

        /// <summary>
        /// 宠物背包类型
        /// </summary>
        public PetBagCategory PetBagCategory { get; set; }

        /// <summary>
        /// 存放的道具类型
        /// </summary>
        public PetPropCategory? PetPropCategory { get; set; }

        /// <summary>
        /// 存放的道具Id
        /// </summary>
        public int? PetPropId { get; set; }

        /// <summary>
        /// 有效期
        /// </summary>
        public DateTime? PetPropExpiration { get; set; }

        /// <summary>
        /// 存放的道具个数(碎片)
        /// </summary>
        public int? Count { get; set; }

        /// <summary>
        /// 是否为自动打开
        /// </summary>
        public bool? AutoOpen { get; set; }

        /// <summary>
        /// 开启时间
        /// </summary>
        public DateTime? OpenTime { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int DisplayOrder { get; set; }

        /// <summary>
        /// 扩展信息
        /// </summary>
        public string Extra { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public PetBagCellStatus Status { get; set; }

        /// <summary>
        /// 最后一次编辑日期时间
        /// </summary>
        public DateTime ModifiedOn { get; set; }

        /// <summary>
        /// 道具
        /// </summary>
        public virtual PetProp Prop { get; set; }
    }
}